package com.service.profile;

import java.util.List;

import com.entity.other.Academy;
import com.entity.other.City;
import com.entity.other.Domitory;
import com.entity.other.Identify;
import com.entity.other.Industry;
import com.entity.other.IndustryBranch;
import com.entity.other.Junior;
import com.entity.other.Position;
import com.entity.other.PositionBranch;
import com.entity.other.Province;
import com.entity.other.Senior;
import com.entity.other.TechnicalSchool;
import com.entity.other.University;
import com.entity.userInfo.BasicInfo;
import com.entity.userInfo.ContactInfo;
import com.entity.userInfo.JuniorInfo;
import com.entity.userInfo.PersonalInfo;
import com.entity.userInfo.PrimaryInfo;
import com.entity.userInfo.SeniorInfo;
import com.entity.userInfo.TechnicalSchoolInfo;
import com.entity.userInfo.UniversityInfo;
import com.entity.userInfo.WorkInfo;

public interface ProfileService {
	
	public List<Province> getAllProvince()throws Exception;
	
	public List<City> getCityByProvinceId(int provinceId) throws Exception;

	public List<University> getUniversityByProvinceId(int provinceId)throws Exception;
	
	public List<BasicInfo> getBasicInfoByUserId(int userId)throws Exception;
	
	public List<UniversityInfo> getUniversityByUserId(int userId)throws Exception;
	
	public List<SeniorInfo> getSeniorByUserId(int userId)throws Exception;
	
	public List<TechnicalSchoolInfo> getTechnicalSchoolInfoByUserId(int userId)throws Exception;
	
	public List<JuniorInfo> getJuniorByUserId(int userId)throws Exception;
	
	public List<PrimaryInfo> getPrimaryInfoByUserId(int userId)throws Exception;
	
	public List<PersonalInfo> getPersonalInfoByUserId(int userId)throws Exception;
	
	public List<University> getAllUniversity()throws Exception;
	
	public List<Academy> getAllAcademy()throws Exception;
	
	public List<Senior> getAllSenior()throws Exception;
	
	public List<TechnicalSchool> getAllTechnicalSchool()throws Exception;
	
	public List<Junior> getAllJunior()throws Exception;
	
	public List<Industry> getAllIndustry()throws Exception;
	
	public List<IndustryBranch> getAllIndustryBranch()throws Exception;
	
	public List<Position> getAllPosition()throws Exception;
	
	public List<PositionBranch> getAllPositionBranch()throws Exception;
	
	public List<WorkInfo> getWorkInfoByUserId(int userId)throws Exception;
	
	public List<ContactInfo> getContactInfoByUserId(int userId)throws Exception;
	
	public void updateBasicInfo(BasicInfo basicInfo) throws Exception; 
	
	public List<Identify> getAllIdentify()throws Exception;
	
	public List<Domitory> getDomitoryByUniversityId(int universityId)throws Exception;
	
	public List<Academy> getAcademyByUniversityId(int university) throws Exception;
	
	public List<PositionBranch> getPositionBranchByPositionId(int positionId)throws Exception;
	
	public List<IndustryBranch> getIndustryBranchByIndustryId(int industryId)throws Exception;
	
	public void saveUniversityInfo(UniversityInfo universityInfo)throws Exception;
	
	public void delUniversityById(int universityId)throws Exception;
	
	public void delWorkInfoById(int workInfoId)throws Exception;
	
	public void saveWorkInfo(WorkInfo workInfo)throws Exception;
	
	public void savePersonInfo(PersonalInfo personalInfo)throws Exception;
	
	public void saveContactInfo(ContactInfo contactInfo)throws Exception;
}
